package com.koron.car.web.lend.bean.query;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.koron.bean.query.PageQuery;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.util.List;

/**
 * @author twcao
 * @title: CarLendQuery
 * @projectName GDH_EAM_V2
 * @description: 车辆借出查询条件
 * @date 2022/3/1017:12
 */
@Data
@ApiModel("车辆借出查询条件")
public class CarLendQuery extends PageQuery {

    @ApiModelProperty("主键")
    private String id;

    @ApiModelProperty("借出车辆id")
    private String carId;

    @ApiModelProperty("借出车辆车牌号")
    private String licPlateNum;

    @ApiModelProperty("借出时间(开始时间和结束时间)")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")
    private List<Date> lendTime;

    @ApiModelProperty("借出单位id")
    private String orgId;

    @ApiModelProperty("借出单位名称")
    private String orgName;

    @ApiModelProperty("借出经办人id")
    private String loanAgentId;

    @ApiModelProperty("借出经办人id")
    private String loanAgentName;

    @ApiModelProperty("接收单位名称")
    private String receiveOrgName;

    @ApiModelProperty("接收经办人")
    private String receiver;

    @ApiModelProperty("预计借用天数,单位：天")
    private Double expectBorrowTime;

    @ApiModelProperty("借用状态")
    private String state;

    @ApiModelProperty("多条件查询")
    private List<String> states;

    @ApiModelProperty("验收人id")
    private String acceptId;

    @ApiModelProperty("验收人名称")
    private String acceptName;

    @ApiModelProperty("归还时间")
    private Date returnTime;

    @ApiModelProperty("实际天数")
    private Double factBorrowTime;

    @ApiModelProperty(value = "创建人账号")
    private String createBy;

    @ApiModelProperty(value = "创建人姓名")
    private String createByName;

    @ApiModelProperty(value = "创建时间")
    private Date createTime;

    @ApiModelProperty(value = "更新人账号")
    private String updateBy;

    @ApiModelProperty(value = "更新人姓名")
    private String updateByName;

    @ApiModelProperty(value = "更新时间")
    private Date updateTime;

    @ApiModelProperty(value = "主表需要部门字段，用于数据权限")
    private String deptId;
}
